A r t i c l e s
Navigation

Note: This site is
a bit older, personal views
may have changed.

M a i n P a g e

D i r e c t o r y

Concrete vs Abstract and Dot Net vs FPC


Concrete Proposal

I write articles like this so that you and I, as intelligent humans, can figure out what to do about the situation on our own. I guess some people need more concrete instructions or directions as to what I am proposing. I was asked to make more concrete "proposals" instead of writing critical articles about FPC and .NET.

To me, the line between "proposal" and "critical article" is a very murky one. Proposals stem from a need, a problem, criticism, or analysis.

Sometimes I like to throw around implicit articles rather than explicit ones. When I write an article, you have to think.. put your thinking cap on - what am I implying and proposing? What is a proposal anyway? Proposals are all based on something we need or want.. which stems from criticism and analysis, doesn't it? Some people bottle up these needs and wants and don't analyze or criticize why they want these things or why they need these things.

Below is not a concrete CODE proposal. You can see my code by searching the net for my units and what not. I offer lots of those. This is more a "be nice" and "be open to new ideas" proposal.

Some "be nice" and "be more open and less stubborn" proposals:

  • Stop making IDE's so GUI centric.. for example MSEIDE and Lazarus can be game IDE's and system ide's and cgi IDE's too. Delphi has some issues.. let's not copy Delphi word for word, let's innovate.

    • Nov 2007 update: See what happens? My articles have an effect or an influence even if they are not 'direct proposals with code'. Martin has implemented a 'NoGui' feature for MSEIDE. You don't have to use a GUI with MSEIDE in the main application loop now. Martin has also implemented an interesting internet streaming/scripting system. He is also open to implementing new templates for console programs and new tools menu items.

      More developers are also now using Powtils with Lazarus and MSEIDE than before. Some are now using tiOPF with Powtils and more people are coming to the web programming mailing lists

  • Stop copying borland so much.. we aren't competing with them, we are offering a niche compliment to them.. Lazarus looks like a Plagarized copy of Delphi.. and it even says in the about menu that lazarus is a "delphi emulator", and that is sad.

    • Nov 2007 update: See what happens? My articles have an affect or an influence even if they are not 'direct proposals with code'. Martin for example has implemented lots and lots of features into MSEIDE that do not copy borland.

      Joost has also mentioned that maybe our FCL-DB does not need to 'copy' borland as maybe borland didn't do everything right in the first place.

  • Don't get mad when some systems programmer comes on the mailing list and asks for a feature that C has. Don't be such a Pascal fan boy and consider that the Pascal language isn't perfect. Welcome these folks to the community.. the embedded programmers or the airplane control programmers, and the Ada programmers, not just the GUI Delphi folks please.

    • Nov 2007 update: See what happens? My articles have an affect or an influence even if they are not 'direct proposals with code'. Someone has contacted me who uses Ada for Airplane control software and airplane emulatation.. and has told me he is using FPC also, in areas where Ada has not served his needs..

    • and even the Go programmer Frank De Groot is now back using Object Pascal after I had a chat with him. He was going to port to C++ or use other tools. After he chatted and saw my wiki, he is all for using Object Pascal again. He even undeleted the source code from his computer and restarted Go game Development using object pascal again.

  • When someone suggests something like a longwordstring (instead of a 255 shortstring) don't say that it is a bad idea and that shortstrings are enough for everything. Say that longwordstrings are a good idea but that you don't have time to implement them yet, and that there may be more important things to implement. Violently opposing an idea isn't healthy - especially since we know that 255 strings are not "just enough". This is pascal fanboyism, and if Wirth knew about the fact that memory was to increase in the future he also would have made a longwordstring in addition to a bytestring (shortstring).

  • Don't get pissed off when people come on the mailing list and complain that the executable is 12MB. It's just human nature for us to worry about bloat, since in general things like OpenOffice and Mozilla are huge, which means huge equals bloatware, even if huge doesn't really equal bloatware in all cases (its just an indicator - it's like seeing a brown apple and assuming it is bad.. maybe not all brown apples are bad, but for creeps sake it is usually a pretty good indicator). Just help them and stop fighting them back by saying that they are bad to come on the mailing list and ask such a thing.

  • Don't assume that speed is different than size. They are very related, which is why small footprint applications speed up servers and desktops. Don't assume that speed and size are two separate things, and don't try and differentiate the two as if they are radically different.

  • Stop assuming that libraries are bad, and that all exe's should be shipped without any libraries. Servers are especially better off with shared libraries, and compiling Lazarus is a pain in the neck every time someone wants to install a feature, no matter how much you want to argue that since it is open source it isn't a big deal. LPK/BPL systems aren't necessarily the simplest solution that works right now, and I've already offered lots of code showing how to make a plug in system, but I know we want to copy Delphi and can't be open to new innovations.

  • Stop focusing so much on trying to copy all the Delphi VCL and start thinking about niche units that people can use which aren't necessarily GUI centric.. I've offered lots of these units so don't assume that I'm just making proposals and not contributing

  • Stop spending so much time on the mailing lists and contribute some articles to the internet, more domain names with FPC content on them makes FPC more accessible and more popular. Every time you want to flame someone on the mailing list, consider putting it on a website so more FPC stuff is out there.. on different domains, not just the FPC domain or the FPC wiki.

  • Some of the delphi community holds a grudge against FPC and sees FPC as the "enemy". These people aren't necessarily worth trying to convince or spending time on. Again, a systems or embedded or even a D or a C or a Java or a ADA programmer might even be a better target than these FPC haters that we continually try to convince.. Or even schools, colleges, universities, and brand new programmers who don't know a language already - those are usually the easiest people to convince actually, since they have a fresh mind. I'm not saying that we should solely focus on targeting non-delphi programmers, I'm saying that maybe some folks are just happy with Delphi, even the .NET folks who are convinced .NET is the answer... But FPC has some really other cool niche things about it that could target other programmers other than the .NET programmers and Delphi programmers who are already happy.

  • start offering fpc consulting. FPC will not be taken as seriously if there are no consultants. There are plenty of .NET, C++, and PHP consultants out there but virtually zero FPC consultants. How can Fpc be taken seriously if OptimaSC and Z505 are the only two FPC consulting companies on the Google search (I know there are a couple more, but realistically, compared to other tools, FPC has ZERO). FPC is currently a toy compiler, without any actual consultants backing it up, except for two infamous tiny companies!

  • Stop always assuming that people need the complex "perfect" solution, such as FastCGI instead of regular CGI.. or full fledged Visual web apps or full fledged Apache modules that run on dedicated servers, or full fledged XML parsers, or full fledged Firebird databases instead of hackish solutions like MySql or config files (yes, config files are untyped databases, everyone uses those, but whenever MySql or Sqlite is mentioned lots of people violently oppose it - realistically though, MySQL and Sqlite are solutions that people use - just as people use INI config files which are really untyped databases if you think about it).

  • i.e. look in the mirror
The problem with concrete proposals, is that they hurt people's feelings even more than less concrete and more abstract or implicit philosophies and hints. Since there are so many concrete things to list and explain, they also take up way more screen space than a more abstract general philosophy or article that suggests rather than instructs. This is the reason most of the content on PasWiki is not concrete - it is abstract. In fact I'd argue that there are proposals in this article, just people like to nitpick my philosophies instead of take the general point of the article.

Lastly, I put my code where my mouth is and don't just throw around programming philosophies on here.

About
This site is about programming and other things.
_ _ _